In an Internet Protocol (IP) Multimedia Subsystem (IMS) network, such as an IMS based Multimedia over IP network, a subscriber may register with the network. Thereto, the User Equipment (UE), i.e. terminal, of the subscriber discovers which Proxy Call Session Control Function (P-CSCF) server it shall use for registration. Besides having the host name of the P-CSCF server internally configured, the UE may also request the P-CSCF server host name from the access network or obtain it through Dynamic Host Configuration Protocol (DHCP). The UE sends a Register message to the P-CSCF server. Hereto, the UE uses Domain Name System (DNS) query to resolve the P-CSCF server host name into IP address and Transport protocol (e.g. User Datagram Protocol (UDP)). The Register message contains subscriber registration data, hereinafter referred to as registration data. This registration data includes the subscriber's public identifier, the Home realm and the subscriber's contact address.
During registration, the P-CSCF server selects an inbound proxy, based on the Home realm, and then forwards the Register message to the selected inbound proxy, such as an Interrogating Call Session Control Function (I-CSCF) server. The I-CSCF server queries the Home Subscriber Server (HSS), based on the subscriber's public identifier, and asks for information regarding the Serving Call Session Control Function (S-CSCF) server that shall be allocated for this subscriber. If no S-CSCF server is allocated to the subscriber at this moment, then I-CSCF server allocates one, based on information as a.o. the S-CSCF capabilities, received from the HSS. “S-CSCF capabilities” is a subscription parameter that indicates the capabilities that the S-CSCF to be selected for this subscriber should support. The I-CSCF server then forwards the Register message to the selected S-CSCF server.
The selected S-CSCF server informs the HSS that this subscriber has registered and that this S-CSCF (the selected S-CSCF) has been assigned to that subscriber. The HSS stores the S-CSCF address for this subscriber, so subsequent registration or session establishment may be directed to this S-CSCF server. The HSS supplies the subscription profile to the S-CSCF server, which the S-CSCF server stores. The S-CSCF server also stores the contact address of the UE and the host name of the P-CSCF server. This enables the S-CSCF server to contact this terminal for session establishment, sending the message through the allocated P-CSCF server for the subscriber.
Successful result of the registration is reported towards the UE in a 200 Ok Session Initiation Protocol (SIP) message (refer to RFC 3261 for an overview of the response messages). The 200 Ok message contains a subset of subscription information, to be stored in the P-CSCF server. The 200 Ok message also contains the host name of the S-CSCF server. The 200 Ok message follows the reverse path of the Register message. The I-CSCF forwards the 200 Ok message to the P-CSCF server. The I-CSCF server does not store any subscriber data. The P-CSCF server stores the received subscription data and forwards the 200 Ok message, after partial removal of the subscription data, on to the UE. The UE stores the received subscription data as well as the host name of the S-CSCF server allocated to the subscriber associated with the UE. The UE is now in a state that it is able to initiate and answer multimedia communication sessions.
At re-registration, the UE will not force registration with the ‘current’ S-CSCF server. Instead, the I-CSCF server will, for every re-registration procedure, obtain a S-CSCF address from the HSS. The rationale is that the subscriber data may have been shifted from the S-CSCF server where it was originally stored to another S-CSCF server since a previous (re-)registration procedure. After every (re-)registration procedure, the UE, P-CSCF server, S-CSCF server and HSS are aligned again in terms of having shared relevant subscriber data, for establishing communication sessions to/from the UE. This synchronization of subscriber data in mentioned entities is critical for being able to establish communication sessions.
A particular problem occurs when subscriber data synchronization is lost, e.g. when the selected S-CSCF server is temporarily not operational (e.g. due to a restart) or when subscriber data is lost (e.g. due to a restoration procedure). When a S-CSCF server restarts and has lost subscriber data, a subsequent incoming call for a subscriber that was registered in that S-CSCF server may be handled by another S-CSCF server. That other S-CSCF server may obtain the subscriber data from the HSS. This allows for terminating unregistered call handling. A terminating service can be invoked for the subscriber, but the call can't be delivered to a terminal, since the S-CSCF server does not have a contact address, nor a P-CSCF address for that subscriber since these addresses are not always stored in the HSS. If that subscriber would at this point initiate a call, then the UE will try to establish the session through the S-CSCF server where the subscriber is no longer registered. The session establishment will fail. The UE, P-CSCF server, S-CSCF server and HSS will be re-synchronised after the next periodic registration of the subscriber.